
package controle;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import modelo.Usuario;
import persistencia.UsuarioDAO;
import util.Protegido;
/**
 *
 * @author aldiene
 */
public class ServletUsuario extends HttpServlet {
   
   
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
       response.setContentType("text/html;charset=UTF-8");
       String acao = request.getParameter("acao");
       System.out.println("acao " + acao);
       if (acao.equals("salvar")) {
            salvar(request, response);
       } else if (acao.equals("autenticar")) {//logar no sistema
            String login = request.getParameter("login");
            String senha1 = request.getParameter("senha");
            System.out.print("servlet: " + login + " " + senha1);
            HttpSession session = request.getSession(true);
            Usuario usuario = new UsuarioDAO().autenticarUsuarios(login, senha1);
            session.setAttribute("usuario", usuario);
            
            usuario = (Usuario)session.getAttribute("usuario");
            System.out.println("usuario da sessao:" + usuario);
            //session.setAttribute("nomeUsuario" ,usuario);
            
            if (usuario!=null){
                System.out.println("usuario NAO é null");
                session.setAttribute("nomeUsuario" ,usuario);  
                getServletContext().getRequestDispatcher("/Menu.jsp").forward(request, response);
            } else {
                System.out.println("usuario é null");
                request.setAttribute("Mensagem","Login invalido");
                 getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
            }
            
            
        } 
    }
    
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        System.out.println("processando ServletUsuario.doGet");
        processRequest(request, response);
    } 

    
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        System.out.println("processando ServletUsuario.doPost");
        processRequest(request, response);
    }

    @Override
   public String getServletInfo() {
        return "Short description";
    }
   
    private void salvar(HttpServletRequest request, HttpServletResponse response) 
           throws ServletException, IOException {
        HttpSession session = request.getSession(true);
        
        String nomeUsuario = request.getParameter("nomeUsuario");
        String login = request.getParameter("login");
        String senha1 = request.getParameter("senha1");
        String sen = Protegido.encriptar(senha1);
        //String senha2 = request.getParameter("senha2");
        
        Usuario usuario = new Usuario(nomeUsuario,login, sen/*senha2*/);
        UsuarioDAO dao = new UsuarioDAO();
        if (dao.salvar(usuario)){
                System.out.print("Servlet: cadastrado com sucess");
                 getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
            }else{
                System.out.print("Servlet: erro ao cadastra usuario");
            }    
    }
     
 }    